SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
-- =============================================
-- Author:		Jonas
-- Create date: 22-01-2013
-- Description:	Retorna todos os eventos
-- =============================================
CREATE PROCEDURE ext.procurarEvento_porID @id as int
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
    
-- Este if serve para verificar se o evento tem Flyer
-- Se não tiver retorna todos os campos menos o do Flyer
-- porque caso não exista flyer não retornava nada
IF ( select COUNT(f.id_evento) from ext.flyer f where id_evento = @id) > 0
	SELECT e.id_evento,
		   e.titulo as Titulo,
		   e.descricao as Descrição,
		   c.nome as Categoria,
		   e.data_inicio as Data_Inicio,
		   e.data_fim as Data_Fim ,
		   e.descricao as Descrição,
		   e.preco as Preço,
		   e.latitude as Latitude,
		   e.longitude as Longitude,
		   e.morada as Morada,
		   e.codigo_postal as Código_Postal,
		   e.url as URL,
		   e.contato_telefonico as Contacto,
		   e.email as Email,
		   f.flyer_ole as Flyer,
		   c.id_categoria as id_categoria
	FROM ext.evento e
	  inner join ext.categoria c
	  on e.id_categoria = c.id_categoria 
	  inner join ext.flyer f
	  on e.id_evento = f.id_evento 
	where e.id_evento = @id 
else
	SELECT e.id_evento,
		   e.titulo as Titulo,
		   e.descricao as Descrição,
		   c.nome as Categoria,
		   e.data_inicio as Data_Inicio,
		   e.data_fim as Data_Fim ,
		   e.descricao as Descrição,
		   e.preco as Preço,
		   e.latitude as Latitude,
		   e.longitude as Longitude,
		   e.morada as Morada,
		   e.codigo_postal as Código_Postal,
		   e.url as URL,
		   e.contato_telefonico as Contacto,
		   e.email as Email,
		   c.id_categoria as id_categoria
	FROM ext.evento e
	  inner join ext.categoria c
	  on e.id_categoria = c.id_categoria 
	where e.id_evento = @id 
END
GO
